<?php
// must be included in php file..
$listHarga = $db->get_results('SELECT kode, jenis, nama, harga, satuan FROM `caramel_managerial`.`harga` ORDER BY nama ASC', ARRAY_A);

// prepare for the form
$material = array();
foreach($listHarga as $i){
	$material[$i['jenis']][] = array(
		$i['kode'],
		$i['nama'],
		$i['satuan'],
		$i['harga']
	);
}

$materialSection = array('pupuk', 'herbisida', 'fungisida', 'insektisida', 'bahan_kimia_lain', 'pestisida');
$combobox = '<select name="nama_material-{0}" id="nama_material-{0}" class="nama_material">';
$combobox .= '<option value="" disabled="disabled" selected="elected">Pilih Material</option>';
foreach($materialSection as $m){		
	$combobox .= '<option value="" disabled="disabled" class="disabled">'.strtoupper($m).'</option>';
	
	foreach($material[$m] as $materialContent){
		$combobox .= '<option value="'.$materialContent[0].'">'.$materialContent[1].'</option>';
	}	
}
$combobox .= '<option value="other" class="other">Lainnya...</option>';
$combobox .= '</select>';

// prepare for javascript var
$jsHarga   = 'var listHarga = new Array('.count($listHarga).');';
$jsSatuan  = 'var listSatuan = new Array('.count($listHarga).');';

foreach($listHarga as $i){
	$jsHarga .= 'listHarga["'.$i['kode'].'"] = '.$i['harga'].';	';
	$jsSatuan.= 'listSatuan["'.$i['kode'].'"] = "'.$i['satuan'].'";	';		
}
	
?>
// jumlah material yang dinamis
if( jml_material == null ){
    var jml_material  = 1;	
}

// template untukform dinamis
var template_material  = jQuery.format($("#template_material").val());

// funsi penambahan barisnya..
function tambahMaterial() {
	$("input#tambah_material").parent().before(template_material(jml_material++));
}

// pada awalnya, halaman berisi 1 buah, lets do it..
// untuk halaman edit, tidak perlu
if( jml_material == 1 ){
    tambahMaterial();
}

// bind eventnya..
$("input#tambah_material").click(tambahMaterial);

// tombol hapus.. bind eventnya..
$('input.hapus_material').live("click", function(){
	$(this).parent().parent().remove();
});

// jika memilih other... maka..
var template_material_other = jQuery.format($("textarea#template_material_other").val());
			
$('select.nama_material').live("change",function(){		
	var id = $(this).attr('id').substr("nama_material-".length);
	
	// Jika memilih 'lainnya', maka combobox akan berubah menjadi text box..
	if( $(this).val() != 'other' ){
		lihatHarga(id);
	}
	else{
		$(this).parent().parent().before(template_material_other(id));
		$(this).parent().parent().remove();			
	}
});
	
// List harga dan satuan dari tiap kode... 
<?=$jsHarga;?>
<?=$jsSatuan;?>

// Isi satuan dan harga total berdasarkan nama dan jumlah material yang dipilih..
var formatHarga = function(h){
	return Math.round(h);
}

var lihatHarga = function(id){
	var p   	 = $('#nama_material-'+id).parent();
	var jml  	 = p.find('#jml_material-'+id).val();
	var material = p.find('#nama_material-'+id+' :selected').val();
	
	if( jml && material ){
		//var harga = listHarga[material]*jml;
		$('#satuan_material-'+id, p).val(listSatuan[material]);
		//$('#harga_material-'+id, p).val(formatHarga(harga));
	}
}


$('input.jumlah_material').live("change",function(){
	var id = $(this).attr('id').substr("jml_material-".length);
	var val = parseFloat($(this).val());
	
	if( isNaN(val) || val < 0 ){
		val = 0;
	}
	$(this).val(val);
	
	lihatHarga(id);
});